Advances in semi-conductor processing and logic design have permitted an increase in the amount of logic that may be present on integrated circuit devices. As a result, computer system configurations have evolved from a single or multiple integrated circuits in a system to multiple hardware threads, multiple cores, multiple devices, and/or complete systems on individual integrated circuits. Additionally, as the density of integrated circuits has grown, the power requirements for computing systems (from embedded systems to servers) have also escalated. Furthermore, software inefficiencies, and its requirements of hardware, have also caused an increase in computing device energy consumption. In fact, some studies indicate that computers consume approximately 13% of the entire electricity supply for the United States of America. As a result, there is a vital need for energy efficiency and conservation associated with integrated circuits. And as servers, desktop computers, notebooks, ultra-books, tablets, mobile phones, processors, embedded systems, etc. become even more prevalent (from inclusion in the typical computer, automobiles, and televisions to biotechnology), the effect of computing device sales stretches well outside the realm of energy consumption into a substantial, direct effect on The United States economy, as computing device related sales already have a large causal relationship with The United States Gross Domestic Product. Though specific statistics relevant to the United States of America have been presented here, the need for enhancing energy efficiencies and reducing energy or power consumption are applicable throughout the world.
For example, a computer system may comprise a processor, which may include multiple processing cores, an uncore area, a graphics processing unit, and many such processing blocks. One or more of these blocks may be operating on different and independent clock frequencies and may be, generally, referred to as “multi-frequency domains”. And the multi-frequency domains may consume different power quantity out of a common package power budget. The contribution of each multi-frequency domain to the overall performance of the processor depends on each domain's workload sensitivity, which may vary dramatically over runtime. Thus, sharing the power budget among multi-frequency domains has to reflect such dynamic characteristics, holistically, at the chip level. Current techniques may not guarantee optimal distribution for a given power budget to achieve maximum efficiency in terms of performance and power.
For example, in some processors a driver associated with a second domain (e.g., GPU) may decide power biasing between a first domain (e.g., CPU) and a second domain although the driver has limited visibility into the first domain. Capability need for the first domain is predicted primarily based on second domain's utilization and frequency and such prediction may be an indirect speculation on the first domain's role in the budget allocation process and may not be ideal. While utilization may be a useful factor to consider but, it may not be sufficient to differentiate true power demand between domains. For instance, a workload may see the same utilization (e.g., 100%) for the two domains, but the workload may still rely on one domain much more than the other and may therefore create a complex problem in applying a limited power budget for the most return. In multi-tasking cases where two or more domains are shared by multiple programs/applications, effective budget distribution may be even more challenging.
A lack of useful metrics to enable cross domain evaluation and effective power budget balancing decisions may be critical for enhancing energy efficiency. As more and more components are being integrated into the same processor die or package, there may be a possibility of co-existence of many multi-frequency domains and the power budget allocation to these many multi-frequency domains may be even more important. Consequently, maintaining globally optimal power allocation among domains becomes increasingly difficult.